package com.app.service;

import com.app.pojo.User;
import com.app.util.Result;
import com.app.vo.AdminHomePageVo;
import com.app.vo.UserLoginVo;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.security.auth.login.LoginException;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author yoominic
 * @since 2024-07-29
 */
public interface IUserService extends IService<User> {

    Object getOpenid(String code) throws LoginException;

    UserLoginVo getPhone(String code, String mobileCode) throws LoginException;

    UserLoginVo verifyLogin(String phone,String ip);

    User selectUserById(Long userId);

    /**
     * admin 查询小程序用户列表
     * @return
     */
    Result<Object> miniUserList(Integer page, Integer limit, String keyword);

    /**
     * admin用户基本信息的详情查询
     * @return
     */
    Result<Object> basicDetails(Integer userId);

    /**
     * 用户详情中_户号缴费记录的分页列表查询
     * @return
     */
    Result<Object> householdDetails(String account, Integer page, Integer limit, Integer userId);

    /**
     * admin 用户增长趋势
     * @return
     */
    Result<AdminHomePageVo> userCrowthTrend();
}
